﻿using Abp.IdentityServer4;
using Abp.Zero.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using BRMC.IntelligentCommunity.Authorization.Roles;
using BRMC.IntelligentCommunity.Authorization.Users;
using BRMC.IntelligentCommunity.Chat;
using BRMC.IntelligentCommunity.Editions;
using BRMC.IntelligentCommunity.Friendships;
using BRMC.IntelligentCommunity.MultiTenancy;
using BRMC.IntelligentCommunity.MultiTenancy.Accounting;
using BRMC.IntelligentCommunity.MultiTenancy.Payments;
using BRMC.IntelligentCommunity.Storage;
using BRMC.IntelligentCommunity.App;
using BRMC.IntelligentCommunity.Broadband;
using BRMC.IntelligentCommunity.IntelligentCommunity.Product;
using BRMC.IntelligentCommunity.IntelligentCommunity.Sys;
using BRMC.IntelligentCommunity.IntelligentCommunity.Users;
using BRMC.IntelligentCommunity.IntelligentCommunity.Voteentity;
using BRMC.IntelligentCommunity.IntelligentCommunity.Work;
using BRMC.IntelligentCommunity.IntelligentCommunity.Evaluate;
using BRMC.IntelligentCommunity.IntelligentCommunity.Wy;
using BRMC.IntelligentCommunity.IntelligentCommunity.Relation;
using BRMC.IntelligentCommunity.FaceRecognitions;
using BRMC.IntelligentCommunity.IntelligentCommunity.Parkings;

namespace BRMC.IntelligentCommunity.EntityFrameworkCore
{
    public class IntelligentCommunityDbContext : AbpZeroDbContext<Tenant, Role, User, IntelligentCommunityDbContext>, IAbpPersistedGrantDbContext
    {
        /* Define an IDbSet for each entity of the application */

        public virtual DbSet<BinaryObject> BinaryObjects { get; set; }

        public virtual DbSet<Friendship> Friendships { get; set; }

        public virtual DbSet<ChatMessage> ChatMessages { get; set; }

        public virtual DbSet<SubscribableEdition> SubscribableEditions { get; set; }

        public virtual DbSet<SubscriptionPayment> SubscriptionPayments { get; set; }

        public virtual DbSet<Invoice> Invoices { get; set; }

        public virtual DbSet<PersistedGrantEntity> PersistedGrants { get; set; }


        //public virtual DbSet<App_org_rule_relation> App_org_rule_relation { get; set; }
        public virtual DbSet<App_role> App_role { get; set; }
        public virtual DbSet<App_role_rule> App_role_rule { get; set; }
        public virtual DbSet<App_rule> App_rule { get; set; }
        public virtual DbSet<App_user> App_user { get; set; }
        public virtual DbSet<App_user_dep_role> App_user_dep_role { get; set; }
        public virtual DbSet<Bb_buy_time_log> Bb_buy_time_log { get; set; }
        public virtual DbSet<Bb_by_agenter_info> Bb_by_agenter_info { get; set; }
        public virtual DbSet<Bb_price_package> Bb_price_package { get; set; }
        public virtual DbSet<Bb_repairs_time_log> Bb_repairs_time_log { get; set; }
        public virtual DbSet<Bb_service_time_log> Bb_service_time_log { get; set; }
        public virtual DbSet<Bb_staff_work_info> Bb_staff_work_info { get; set; }
        public virtual DbSet<Bb_user_agent_info> Bb_user_agent_info { get; set; }
        public virtual DbSet<Bb_user_buy_flow> Bb_user_buy_flow { get; set; }
        public virtual DbSet<Bb_user_buy_install_info> Bb_user_buy_install_info { get; set; }
        public virtual DbSet<Bb_user_buy_log> Bb_user_buy_log { get; set; }
        public virtual DbSet<Bb_user_buy_product> Bb_user_buy_product { get; set; }
        public virtual DbSet<Bb_user_evaluate_info> Bb_user_evaluate_info { get; set; }
        public virtual DbSet<Bb_user_evaluate_pict> Bb_user_evaluate_pict { get; set; }
        public virtual DbSet<Bb_user_renewal_info> Bb_user_renewal_info { get; set; }
        public virtual DbSet<Bb_user_renewal_log> Bb_user_renewal_log { get; set; }
        public virtual DbSet<Bb_user_repairs_info> Bb_user_repairs_info { get; set; }
        public virtual DbSet<Bb_user_repairs_install_info> Bb_user_repairs_install_info { get; set; }
        public virtual DbSet<Bb_user_repairs_log> Bb_user_repairs_log { get; set; }
        public virtual DbSet<Bb_user_service_info> Bb_user_service_info { get; set; }
        public virtual DbSet<Bb_user_service_install_info> Bb_user_service_install_info { get; set; }
        public virtual DbSet<Bb_user_service_log> Bb_user_service_log { get; set; }

        public virtual DbSet<Evaluate_index> Evaluate_index { get; set; }
        public virtual DbSet<product_info> product_info { get; set; }
        public virtual DbSet<Sys_banner> Sys_banner { get; set; }
        public virtual DbSet<Sys_data_set> Sys_data_set { get; set; }
        public virtual DbSet<Sys_house_chart> Sys_house_chart { get; set; }
        public virtual DbSet<Sys_house_info> Sys_house_info { get; set; }
        public virtual DbSet<Sys_information> Sys_information { get; set; }
        public virtual DbSet<Sys_neighbourhood_info> Sys_neighbourhood_info { get; set; }
        public virtual DbSet<Sys_notice> Sys_notice { get; set; }
        public virtual DbSet<Sys_site_dict> Sys_site_dict { get; set; }
        public virtual DbSet<Sys_site_dict_index> Sys_site_dict_index { get; set; }
        public virtual DbSet<Sys_verification_code> Sys_verification_code { get; set; }
        public virtual DbSet<User_apply_reside_info> User_apply_reside_info { get; set; }
        public virtual DbSet<User_base_info> User_base_info { get; set; }
        public virtual DbSet<User_broadband_info> User_broadband_info { get; set; }
        public virtual DbSet<User_excel_import_tmp> User_excel_import_tmp { get; set; }
        public virtual DbSet<User_house_info> User_house_info { get; set; }
        public virtual DbSet<User_idcard_pict_info> User_idcard_pict_info { get; set; }
        public virtual DbSet<User_pay_info> User_pay_info { get; set; }
        public virtual DbSet<User_sys_info> User_sys_info { get; set; }
        public virtual DbSet<User_wechat_info> User_wechat_info { get; set; }
        public virtual DbSet<Vote> Vote { get; set; }
        public virtual DbSet<Vote_items> Vote_items { get; set; }
        public virtual DbSet<Vote_user_log> Vote_user_log { get; set; }
        public virtual DbSet<Vote_users> Vote_users { get; set; }
        public virtual DbSet<Work_evaluate_info> Work_evaluate_info { get; set; }
        public virtual DbSet<Work_wechat_info> Work_wechat_info { get; set; }
        public virtual DbSet<Wy_facility_info> Wy_facility_info { get; set; }
        public virtual DbSet<Wy_material_tool_info> Wy_material_tool_info { get; set; }
        public virtual DbSet<Wy_material_tool_inout_info> Wy_material_tool_inout_info { get; set; }
        public virtual DbSet<Wy_mt_inout_details> Wy_mt_inout_details { get; set; }
        public virtual DbSet<Wy_repairs_equipment_class> Wy_repairs_equipment_class { get; set; }
        public virtual DbSet<Wy_repairs_work_info> Wy_repairs_work_info { get; set; }
        public virtual DbSet<Wy_user_evaluate_info> Wy_user_evaluate_info { get; set; }
        public virtual DbSet<Wy_user_evaluate_pict> Wy_user_evaluate_pict { get; set; }
        public virtual DbSet<Wy_user_repairs_comments_info> Wy_user_repairs_comments_info { get; set; }
        public virtual DbSet<Wy_user_repairs_comments_pict> Wy_user_repairs_comments_pict { get; set; }
        public virtual DbSet<Wy_user_repairs_list> Wy_user_repairs_list { get; set; }
        public virtual DbSet<Wy_user_repairs_log> Wy_user_repairs_log { get; set; }
        public virtual DbSet<Wy_user_repairs_pict> Wy_user_repairs_pict { get; set; }
        public virtual DbSet<Wy_user_repairs_praise> Wy_user_repairs_praise { get; set; }
        public virtual DbSet<Wy_work_evaluate_info> Wy_work_evaluate_info { get; set; }


        public virtual DbSet<FaceRecognition> FaceRecognitions { get; set; }
        public virtual DbSet<IdentifiedimfInfo> IdentifiedimfInfos { get; set; }


        //车辆  CarlogRealTime
        public virtual DbSet<UserParkinginfo> UserParkinginfos { get; set; }

        public virtual DbSet<UserCarInfo> UserCarInfos { get; set; }
        public virtual DbSet<Place> Places { get; set; }
        public virtual DbSet<Parking> Parkings { get; set; }
        public virtual DbSet<ParkGuard> ParkGuards { get; set; }
        public virtual DbSet<Device> Devices { get; set; }
        public virtual DbSet<CarlogRealTime> CarlogRealTimes { get; set; }
        public virtual DbSet<CarLogHistory> CarLogHistories { get; set; }
        public virtual DbSet<CarInfo> CarInfos { get; set; }  
        public virtual DbSet<ParkingsBillingScheme> ParkingsBillingSchemes { get; set; }
        public virtual DbSet<Paymethod> Paymethods { get; set; }
        public IntelligentCommunityDbContext(DbContextOptions<IntelligentCommunityDbContext> options)
            : base(options)
        {
            
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            modelBuilder.Entity<BinaryObject>(b =>
            {
                b.HasIndex(e => new { e.TenantId });
            });

            modelBuilder.Entity<ChatMessage>(b =>
            {
                b.HasIndex(e => new { e.TenantId, e.UserId, e.ReadState });
                b.HasIndex(e => new { e.TenantId, e.TargetUserId, e.ReadState });
                b.HasIndex(e => new { e.TargetTenantId, e.TargetUserId, e.ReadState });
                b.HasIndex(e => new { e.TargetTenantId, e.UserId, e.ReadState });
            });

            modelBuilder.Entity<Friendship>(b =>
            {
                b.HasIndex(e => new { e.TenantId, e.UserId });
                b.HasIndex(e => new { e.TenantId, e.FriendUserId });
                b.HasIndex(e => new { e.FriendTenantId, e.UserId });
                b.HasIndex(e => new { e.FriendTenantId, e.FriendUserId });
            });

            modelBuilder.Entity<Tenant>(b =>
            {
                b.HasIndex(e => new { e.SubscriptionEndDateUtc });
                b.HasIndex(e => new { e.CreationTime });
            });

            modelBuilder.Entity<SubscriptionPayment>(b =>
            {
                b.HasIndex(e => new { e.Status, e.CreationTime });
                b.HasIndex(e => new { PaymentId = e.ExternalPaymentId, e.Gateway });
            });

            modelBuilder.Entity<User>(b =>
            {
                b.Property(e => e.Photo).HasMaxLength(100);
                b.Property(e => e.Photo_url).HasMaxLength(100);
                b.Property(e => e.Portrait).HasMaxLength(100);
                b.Property(e => e.Portrait_url).HasMaxLength(100);
            });
            ///
            //
            ///
            //modelBuilder.Entity<App_role>(b =>
            //{
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<App_role_rule>(b =>
            //{
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<App_rule>(b =>
            //{
            //    b.Property(e => e.Pid).HasDefaultValue(0);
            //    b.Property(e => e.Status).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<App_user>(b =>
            //{
            //    b.Property(e => e.Usertype).HasDefaultValue(0);
            //    b.Property(e => e.Timestamp).HasMaxLength(50);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<App_user_dep_role>(b =>
            //{
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Bb_by_agenter_info>(b =>
            //{
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Bb_price_package>(b =>
            //{
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //    b.Property(e => e.Sort).HasDefaultValue(0);
            //    b.Property(e => e.Money).HasColumnType("decimal(18,2)");
            //    b.Property(e => e.Original_money).HasColumnType("decimal(18,2)"); 
            //});
            //modelBuilder.Entity<Bb_staff_work_info>(b =>
            //{
            //    b.Property(e => e.New_accept).HasDefaultValue(0);
            //    b.Property(e => e.Repairs_accept).HasDefaultValue(0);
            //    b.Property(e => e.New_nofinish).HasDefaultValue(0);
            //    b.Property(e => e.Repairs_nofinish).HasDefaultValue(0);
            //    b.Property(e => e.New_finish).HasDefaultValue(0);
            //    b.Property(e => e.Repairs_finish).HasDefaultValue(0);
            //    b.Property(e => e.Buy_accept).HasDefaultValue(0);
            //    b.Property(e => e.Buy_nofinish).HasDefaultValue(0);
            //    b.Property(e => e.Buy_finish).HasDefaultValue(0);
            //    b.Property(e => e.Renewal_finish).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Bb_user_agent_info>(b =>
            //{
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //    b.Property(e => e.Btype).HasDefaultValue(1);
            //    b.Property(e => e.Agent_date).HasMaxLength(50);
            //});
            //modelBuilder.Entity<Bb_user_buy_flow>(b =>
            //{
            //    b.Property(e => e.Price).HasColumnType("decimal(18,2)");
            //    b.Property(e => e.Unit_price).HasColumnType("decimal(18,2)");
            //    b.Property(e => e.Discount_price).HasColumnType("decimal(18,2)");
            //});
            //modelBuilder.Entity<Bb_user_buy_install_info>(b =>
            //{
            //    b.Property(e => e.Customer_service_id).HasDefaultValue(0);
            //    b.Property(e => e.Accept_time).HasMaxLength(50);
            //    b.Property(e => e.Work_id).HasDefaultValue(0);
            //    b.Property(e => e.Finish_time).HasMaxLength(50);
            //    b.Property(e => e.After_sale_id).HasDefaultValue(0);
            //    b.Property(e => e.After_sale__time).HasMaxLength(50);
            //});
            //modelBuilder.Entity<Bb_user_buy_log>(b =>
            //{
            //    b.Property(e => e.Timestamp).HasMaxLength(50);
            //    b.Property(e => e.Userid).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Bb_user_buy_product>(b =>
            //{
            //    b.Property(e => e.Service_id).HasDefaultValue(0);
            //    b.Property(e => e.Userid).HasDefaultValue(0);
            //    b.Property(e => e.Product_id).HasDefaultValue(0);
            //    b.Property(e => e.Unit_price).HasColumnType("decimal(20,2)");
            //    b.Property(e => e.Discount_price).HasColumnType("decimal(20,2)");
            //    b.Property(e => e.Price).HasColumnType("decimal(20,2)");
            //    b.Property(e => e.Type).HasDefaultValue(0);
            //    b.Property(e => e.Payid).HasDefaultValue(0);
            //    b.Property(e => e.Buy_date).HasMaxLength(50);
            //    b.Property(e => e.Finish_date).HasMaxLength(50);
            //    b.Property(e => e.Status).HasDefaultValue(1);
            //    b.Property(e => e.Date_change).HasDefaultValue(0);
            //    b.Property(e => e.Date_change_u).HasDefaultValue(0);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //    b.Property(e => e.Isagent).HasDefaultValue(0);
            //    b.Property(e => e.By_agent_userid).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Bb_user_evaluate_info>(b =>
            //{
            //    b.Property(e => e.Type).HasDefaultValue(0);
            //    b.Property(e => e.Service_id).HasDefaultValue(0);
            //    b.Property(e => e.Customer_service_sorce).HasDefaultValue(0);
            //    b.Property(e => e.Accept_time).HasMaxLength(50);
            //    b.Property(e => e.Work_sorce).HasDefaultValue(0);
            //    b.Property(e => e.Finish_time).HasMaxLength(50);
            //    b.Property(e => e.Status).HasDefaultValue(0);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //    b.Property(e => e.Timestamp).HasMaxLength(50);
            //});
            //modelBuilder.Entity<Bb_user_evaluate_pict>(b =>
            //{
            //    b.Property(e => e.Evaluate_id).HasDefaultValue(0);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Bb_user_renewal_info>(b =>
            //{
            //    b.Property(e => e.Paytype).HasDefaultValue(0);
            //    b.Property(e => e.Total).HasColumnType("decimal(10,2)");
            //    b.Property(e => e.Finish_date).HasMaxLength(50);
            //    b.Property(e => e.Opdate).HasMaxLength(50);
            //    b.Property(e => e.Status).HasDefaultValue(1);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //    b.Property(e => e.Isagent).HasDefaultValue(0);
            //    b.Property(e => e.By_agent_userid).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Bb_user_renewal_log>(b =>
            //{
            //    b.Property(e => e.Timestamp).HasMaxLength(50);
            //});
            //modelBuilder.Entity<Bb_user_repairs_info>(b =>
            //{
            //    b.Property(e => e.TimeStamp).HasMaxLength(50);
            //    b.Property(e => e.Finish_date).HasMaxLength(50);
            //    b.Property(e => e.Status).HasDefaultValue(1);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //    b.Property(e => e.Isagent).HasDefaultValue(0);
            //    b.Property(e => e.Date_change).HasDefaultValue(0);
            //    b.Property(e => e.Date_change_u).HasDefaultValue(0);
            //    b.Property(e => e.By_agent_userid).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Bb_user_repairs_install_info>(b =>
            //{
            //    b.Property(e => e.Accept_time).HasMaxLength(50);
            //    b.Property(e => e.Finish_time).HasMaxLength(50);
            //    b.Property(e => e.After_sale_id).HasDefaultValue(0);
            //    b.Property(e => e.After_sale__time).HasMaxLength(50);
            //});
            //modelBuilder.Entity<Bb_user_repairs_log>(b =>
            //{
            //    b.Property(e => e.Timestamp).HasMaxLength(50);
            //    b.Property(e => e.Operation).HasDefaultValue(0);
            //    b.Property(e => e.Operator).HasDefaultValue(0);
            //    b.Property(e => e.Userid).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Bb_user_service_info>(b =>
            //{
            //    b.Property(e => e.Payid).HasDefaultValue(0);
            //    b.Property(e => e.Price_package_id).HasDefaultValue(0);
            //    b.Property(e => e.TimeStamp).HasMaxLength(50);
            //    b.Property(e => e.Finish_date).HasMaxLength(50);
            //    b.Property(e => e.Status).HasDefaultValue(1);
            //    b.Property(e => e.Date_change).HasDefaultValue(0);
            //    b.Property(e => e.Date_change_u).HasDefaultValue(0);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //    b.Property(e => e.Isagent).HasDefaultValue(0);
            //    b.Property(e => e.By_agent_userid).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Bb_user_service_install_info>(b =>
            //{
            //    b.Property(e => e.Accept_time).HasMaxLength(50);
            //    b.Property(e => e.Work_id).HasDefaultValue(0);
            //    b.Property(e => e.Finish_time).HasMaxLength(50);
            //    b.Property(e => e.After_sale_id).HasDefaultValue(0);
            //    b.Property(e => e.After_sale__time).HasMaxLength(50);
            //});
            //modelBuilder.Entity<Bb_user_service_log>(b =>
            //{
            //    b.Property(e => e.Timestamp).HasMaxLength(50);
            //    b.Property(e => e.Operation).HasDefaultValue(1);
            //    b.Property(e => e.Operator).HasDefaultValue(0);
            //    b.Property(e => e.User_type).HasDefaultValue(0);
            //    b.Property(e => e.Userid).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<product_info>(b =>
            //{
            //    b.Property(e => e.Subclass).HasDefaultValue(1);
            //    b.Property(e => e.Largeclass).HasDefaultValue(0);
            //    b.Property(e => e.Sort).HasDefaultValue(1);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //    b.Property(e => e.Price).HasColumnType("decimal(10,2)");
            //    b.Property(e => e.Discount).HasColumnType("decimal(10,2)");
            //});
            //modelBuilder.Entity<Sys_banner>(b =>
            //{
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Sys_data_set>(b =>
            //{
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Sys_house_chart>(b =>
            //{
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Sys_house_info>(b =>
            //{
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //    b.Property(e => e.Neighbourhood_id).HasDefaultValue(0);
            //    b.Property(e => e.Chart).HasDefaultValue(0);
            //    b.Property(e => e.P_num).HasDefaultValue(1);
            //    b.Property(e => e.Use_status).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Sys_information>(b =>
            //{
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //    b.Property(e => e.Reads).HasDefaultValue(0);
            //    b.Property(e => e.Top).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Sys_neighbourhood_info>(b =>
            //{
            //    b.Property(e => e.Ridgepole).HasDefaultValue(0);
            //    b.Property(e => e.Latitude).HasColumnType("decimal(10,6)");
            //    b.Property(e => e.Longitude).HasColumnType("decimal(10,6)");
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //    b.Property(e => e.Family).HasDefaultValue(0);
            //    b.Property(e => e.Span_class).HasDefaultValue(1);
            //    b.Property(e => e.Iscover).HasDefaultValue(1);
            //    b.Property(e => e.Companyid).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Sys_notice>(b =>
            //{
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //    b.Property(e => e.Clicks).HasDefaultValue(0);
            //    b.Property(e => e.Top).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Sys_site_dict>(b =>
            //{
            //    b.Property(e => e.Index).HasDefaultValue(0);
            //    b.Property(e => e.Value).HasDefaultValue(0);
            //    b.Property(e => e.Relevant_val).HasColumnType("decimal(18,2)");
            //    b.Property(e => e.Is_del).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Sys_site_dict_index>(b =>
            //{
            //    b.Property(e => e.Is_del).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Sys_verification_code>(b =>
            //{
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<User_apply_reside_info>(b =>
            //{
            //    b.Property(e => e.Apply_type).HasDefaultValue(0);
            //    b.Property(e => e.Auditor_userid).HasDefaultValue(0);
            //    b.Property(e => e.Status).HasDefaultValue(0);
            //    b.Property(e => e.P_num).HasDefaultValue(1);
            //    b.Property(e => e.Use_status).HasDefaultValue(0);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<User_broadband_info>(b =>
            //{
            //    b.Property(e => e.Price_package_id).HasDefaultValue(0);
            //    b.Property(e => e.Userid).HasDefaultValue(0);
            //    b.Property(e => e.Duration).HasDefaultValue(0);
            //    b.Property(e => e.Bandwidth).HasDefaultValue(0);
            //    b.Property(e => e.Type).HasDefaultValue(1);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //    b.Property(e => e.Service_id).HasDefaultValue(0);
            //    b.Property(e => e.Isagent).HasDefaultValue(0);
            //    b.Property(e => e.By_agent_userid).HasDefaultValue(0);
            //    b.Property(e => e.Userid_base).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<User_excel_import_tmp>(b =>
            //{
            //    b.Property(e => e.Bb_money).HasColumnType("decimal(18,2)");
            //    b.Property(e => e.Userid).HasDefaultValue(0);
            //    b.Property(e => e.Operator).HasDefaultValue(0);
            //    b.Property(e => e.Userid).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<User_house_info>(b =>
            //{
            //    b.Property(e => e.Userid).HasDefaultValue(0);
            //    b.Property(e => e.Houseid).HasDefaultValue(0);
            //    b.Property(e => e.Numbers).HasDefaultValue(1);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //    b.Property(e => e.Applyid).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<User_idcard_pict_info>(b =>
            //{
            //    b.Property(e => e.Apply_id).HasDefaultValue(0);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<User_pay_info>(b =>
            //{
            //    b.Property(e => e.Userid).HasDefaultValue(0);
            //    b.Property(e => e.Total).HasColumnType("decimal(18,2)");
            //    b.Property(e => e.Price_package_id).HasDefaultValue(1);
            //    b.Property(e => e.Payment_method).HasDefaultValue(1);
            //    b.Property(e => e.Type).HasDefaultValue(0);
            //    b.Property(e => e.Isagent).HasDefaultValue(0);
            //    b.Property(e => e.By_agent_userid).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<User_sys_info>(b =>
            //{
            //    b.Property(e => e.Userid).HasDefaultValue(0);
            //    b.Property(e => e.Newmsgs).HasDefaultValue(0);
            //    b.Property(e => e.Evaluate_broadband).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<User_wechat_info>(b =>
            //{
            //    b.Property(e => e.Userid).HasDefaultValue(0);
            //    b.Property(e => e.Gender).HasDefaultValue(0);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Vote>(b =>
            //{
            //    b.Property(e => e.Votetype).HasDefaultValue(1);
            //    b.Property(e => e.Maxoptionnum).HasDefaultValue(0);
            //    b.Property(e => e.Voterange).HasDefaultValue(0);
            //    b.Property(e => e.Itemnum).HasDefaultValue(0);
            //    b.Property(e => e.Endtime).HasDefaultValue(0);
            //    b.Property(e => e.Userid).HasDefaultValue(0);
            //    b.Property(e => e.Timestamp).HasDefaultValue(0);
            //    b.Property(e => e.Allvotes).HasDefaultValue(0);
            //    b.Property(e => e.Votecount).HasDefaultValue(0);
            //    b.Property(e => e.Mancount).HasDefaultValue(0);
            //    b.Property(e => e.Womancount).HasDefaultValue(0);
            //    b.Property(e => e.Isshow).HasDefaultValue(1);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Vote_items>(b =>
            //{
            //    b.Property(e => e.Voteid).HasDefaultValue(0);
            //    b.Property(e => e.Votenum).HasDefaultValue(0);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Vote_user_log>(b =>
            //{
            //    b.Property(e => e.Isvote).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Work_evaluate_info>(b =>
            //{
            //    b.Property(e => e.Bb_score).HasColumnType("decimal(18,2)");
            //    b.Property(e => e.Bb_evaluate_number).HasDefaultValue(0);
            //    b.Property(e => e.Bb_total_score).HasDefaultValue(0);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Work_wechat_info>(b =>
            //{
            //    b.Property(e => e.Userid).HasDefaultValue(0);
            //    b.Property(e => e.Gender).HasDefaultValue(0);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Wy_facility_info>(b =>
            //{
            //    b.Property(e => e.Classid).HasDefaultValue(0);
            //    b.Property(e => e.Neig_id).HasDefaultValue(0);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Wy_material_tool_info>(b =>
            //{
            //    b.Property(e => e.Type).HasDefaultValue(0);
            //    b.Property(e => e.Amount).HasDefaultValue(0);
            //    b.Property(e => e.Classid).HasDefaultValue(0);
            //    b.Property(e => e.Operater).HasDefaultValue(0);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Wy_material_tool_inout_info>(b =>
            //{
            //    b.Property(e => e.Biztype).HasDefaultValue(1);
            //    b.Property(e => e.Inout).HasDefaultValue(0);
            //    b.Property(e => e.Keeper).HasDefaultValue(0);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Wy_repairs_equipment_class>(b =>
            //{
            //    b.Property(e => e.Pid).HasDefaultValue(0);
            //    b.Property(e => e.Isprivate).HasDefaultValue(0);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Wy_repairs_work_info>(b =>
            //{
            //    b.Property(e => e.Repairsid).HasDefaultValue(0);
            //    b.Property(e => e.Customer_service_id).HasDefaultValue(0);
            //    b.Property(e => e.Work_id).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Wy_user_evaluate_info>(b =>
            //{
            //    b.Property(e => e.Biztype).HasDefaultValue(1);
            //    b.Property(e => e.Bizid).HasDefaultValue(0);
            //    b.Property(e => e.Customer_service_sorce).HasDefaultValue(0);
            //    b.Property(e => e.Repairs_sorce).HasDefaultValue(0);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Wy_user_evaluate_pict>(b =>
            //{
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Wy_user_repairs_comments_info>(b =>
            //{
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Wy_user_repairs_list>(b =>
            //{
            //    b.Property(e => e.Classid).HasDefaultValue(0);
            //    b.Property(e => e.Fa_type).HasDefaultValue(0);
            //    b.Property(e => e.Status).HasDefaultValue(1);
            //    b.Property(e => e.Date_change_w).HasDefaultValue(0);
            //    b.Property(e => e.Date_change_u).HasDefaultValue(0);
            //    b.Property(e => e.Eval_status).HasDefaultValue(0);
            //    b.Property(e => e.Comments_times).HasDefaultValue(0);
            //    b.Property(e => e.Praise_times_u).HasDefaultValue(0);
            //    b.Property(e => e.Praise_times_w).HasDefaultValue(0);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //    b.Property(e => e.Isshow).HasDefaultValue(0);
            //    b.Property(e => e.Neig_id).HasDefaultValue(0);
            //    b.Property(e => e.Compid).HasDefaultValue(0);
            //    b.Property(e => e.Isaudit).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Wy_user_repairs_log>(b =>
            //{
            //    b.Property(e => e.Repairsid).HasDefaultValue(0);
            //    b.Property(e => e.Status).HasDefaultValue(1);
            //    b.Property(e => e.Servicerid).HasDefaultValue(0);
            //    b.Property(e => e.User_type).HasDefaultValue(1);
            //});
            //modelBuilder.Entity<Wy_user_repairs_praise>(b =>
            //{
            //    b.Property(e => e.Ptype).HasDefaultValue(0);
            //    b.Property(e => e.Ispraise).HasDefaultValue(1);
            //    b.Property(e => e.Isdel).HasDefaultValue(0);
            //});
            //modelBuilder.Entity<Wy_work_evaluate_info>(b =>
            //{
            //    b.Property(e => e.Eval_num).HasDefaultValue(0);
            //    b.Property(e => e.Score).HasColumnType("decimal(18,2)");
            //    b.Property(e => e.Totel_score).HasColumnType("decimal(18,2)");
            //});
            modelBuilder.ConfigurePersistedGrantEntity();
        }
    }
}
